key proposer preferences by slot and dependent root - #11242
Merged
mehdi-aouadi merged 7 commits intoSep 14, 2026
Merged
mehdi-aouadi merged 7 commits into
mehdi-aouadi merged 7 commits into
Conversation
tbenr
previously approved these changes
Sep 4, 2026
tbenr
left a comment
Contributor
There was a problem hiding this comment.
we probably need to reorder the checks so that cheaper checks are done before the shuffling
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using high effort and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Want reviews to match your repository better? Bugbot Learning can learn team-specific rules from PR activity. A team admin can enable Learning in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 130b2a5. Configure here.
tbenr
approved these changes
Sep 10, 2026
tbenr
left a comment
Contributor
There was a problem hiding this comment.
LGTM. I'm going to open an optional followup issue
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

PR Description
Order proposer preferences by slot and dependant root
Fixed Issue(s)
fixes #11236
Documentation
doc-change-requiredlabel to this PR if updates are required.Changelog
Note
Medium Risk
Changes Gloas gossip validation and how payload building attributes pick target gas limits; incorrect dependent-root matching could reject valid bids or use wrong preferences.
Overview
Proposer preferences are no longer stored or looked up by proposal slot alone. Accepted preferences are keyed by (proposal slot, dependent root), with a new
getProposerPreferencesForSlotAPI for listing everything at a slot.Shuffling dependent root resolution is centralized in
ShufflingDependentRootUtil(fork-choice ancestor at the spec’s dependent slot).GossipValidationHelper,ProposersDataManager(payloadtargetGasLimit), andExecutionPayloadBidGossipValidatornow resolve the dependent root from the relevant block root and proposal slot before fetching preferences.Bid gossip validation defers preference/fee-recipient/gas-limit/head-compatibility checks until parent beacon state is available, then matches preferences using that dependent root.
ProposerPreferencesGossipValidatordeduplication uses(proposal_slot, dependent_root)to align with the spec tuple order.Reference tests and unit tests are updated for the new manager API and bid validation ordering.
Reviewed by Cursor Bugbot for commit 3a55c94. Bugbot is set up for automated code reviews on this repo. Configure here.